import axios from 'axios'
import { Message } from 'element-ui'
import router from '@/router'
import store from '@/store'
const _axios = axios.create({
  baseURL: 'http://www.liulongbin.top:3008'
})

_axios.interceptors.request.use(
  config => {
    // console.log(config)
    // 后端要求以/my开头的才加入token
    if (config.url.startsWith('/my')) {
      config.headers.Authorization = store.state.login.token
    }
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

_axios.interceptors.response.use(
  res => {
    // console.log('响应拦截器', res)
    if (res.data.code === 0) {
      return res.data
    } else {
      Message.error(res.data.message)
      return Promise.reject(res.data.message)
    }
  },
  error => {
    console.log('error', [error])
    // 在这里处理
    if (error.response.status === 401) {
      // token失效了
      // 清除token与用户信息
      store.commit('login/delToken')

      // 提示一下
      Message.error(error.response.data.message)
      // 跳转到登陆页
      router.push('/login?redirect=' + location.href.split('#')[1])
    }
    return Promise.reject(error)
  }
)

export default _axios
